dbicList Send comments on this topic.
Developing with dbicList - Extending Edit Navigation.

Glossary Item Box

Using Other Keys for Navigation

By default, the edit mode recognizes four keys to use for navigation (<Enter>, <Esc>, <Tab>, and <Shift Tab>). However, there may be cases when other keys will be required for navigation as well (i.e. the up and down arrow keys). If that is the case, the following events and methods must be used…

 

1.         Use the EditInputKey event to identify the new keys being used.
C#

void dbicList1_EditInputKey(object sender, Dbi.WinControl.EditInputKeyEventArgs e)

{

switch (e.KeyData)

{

case Keys.Up:                   // We are adding a new key

case Keys.Down:                 // We are adding a new key

e.Handled = true;

break;

    }

}

VB.NET

Private Sub dbicList1_EditInputKey(sender As System.Object, e As Dbi.WinControl.EditInputKeyEventArgs) Handles dbicList1.EditInputKey

        Select e.KeyData

            Case Keys.Up

                'We are adding a new key

            Case Keys.Down

                'We are adding a new key

                e.Handled = True

        End Select

End Sub

 

 

2. Monitor the AfterCellEdit event for those keys, and take the appropriate action when they are pressed. NOTE: Use the EditCell method to put the control back into edit mode.

C#

void dbicList1_AfterCellEdit(object sender, Dbi.WinControl.AfterCellEditEventArgs e)

{

if (e.Key == Keys.Up)

dbicList1.EditCell(e.NodeItem.PrevVisibleNode(), e.ColumnItem);

else if (e.Key == Keys.Down)

dbicList1.EditCell(e.NodeItem.NextVisibleNode(), e.ColumnItem);

}


VB.NET

Private Sub dbicList1_AfterCellEdit(sender As System.Object, e As Dbi.WinControl.AfterCellEditEventArgs) Handles dbicList1.AfterCellEdit

        Select e.Key

            Case Keys.Up

                dbicList1.EditCell(e.NodeItem.PrevVisibleNode(), e.ColumnItem)

            Case Keys.Down

                dbicList1.EditCell(e.NodeItem.NextVisibleNode(), e.ColumnItem)

        End Select

End Sub